#include <stdio.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>

int main()
{
	char* fname = "./temp.c111";
	//char* fname = "./temp.c";
	//char* fname = "./abs";

	if ( access(fname, F_OK) == 0 )
		printf("%s 파일 존재함\n", fname);
	else
	{
		printf("%s 파일 존재 안함(errmsg:%s)\n", fname, strerror(errno));
		perror("Err Msg : ");
	}

	if ( access(fname, R_OK) == 0 )
		printf("%s 읽기 가능\n", fname);
	else
	{
		printf("%s 읽기 불가능(errmsg:%s)\n", fname, strerror(errno));
		perror("Err Msg : ");
	}

	if ( access(fname, W_OK) == 0 )
		printf("%s 쓰기 가능\n", fname);
	else
	{
		printf("%s 쓰기 불가능(errmsg:%s)\n", fname, strerror(errno));
		perror("Err Msg : ");
	}

	if ( access(fname, X_OK) == 0 )
		printf("%s 실행 가능\n", fname);
	else
	{
		printf("%s 실행 불가능(errmsg:%s)\n", fname, strerror(errno));
		perror("Err Msg : ");
	}

	if ( access(fname, F_OK|R_OK|W_OK|X_OK) == 0 )
		printf("%s 파일 존재, 읽기, 쓰기, 실행 모두 가능\n", fname);
	else
	{
		printf("%s 파일 존재, 읽기, 쓰기, 실행 중 하나라도 불가능(errmsg:%s)\n", fname, strerror(errno));
		perror("Err Msg : ");
	}

	return 0;
}

